Linear types for large-scale systems verification

نویسندگان

چکیده

Reasoning about memory aliasing and mutation in software verification is a hard problem. This especially true for systems using SMT-based automated theorem provers. Memory reasoning SMT typically requires nontrivial amount of manual effort to specify heap invariants, as well extensive alias from the solver. In this paper, we present hybrid approach that combines linear types with reasoning. We integrate into Dafny, language an backend, show two approaches complement each other. By separating conditions, reduce solving time. At same time, expressiveness queries extends flexibility type system. particular, it allows our system easily correctly mix nonlinear data novel ways, encapsulating inside vice-versa. formalize core extensions, prove soundness, provide algorithms checking. evaluate by converting implementation verified storage (about 24K lines code proof) written use extended Dafny. The resulting uses 91% remaining 9%. converted has 28% fewer proofs 30% shorter time overall. discuss development overhead original due highlight improved developer experience when types.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A partition-based algorithm for clustering large-scale software systems

Clustering techniques are used to extract the structure of software for understanding, maintaining, and refactoring. In the literature, most of the proposed approaches for software clustering are divided into hierarchical algorithms and search-based techniques. In the former, clustering is a process of merging (splitting) similar (non-similar) clusters. These techniques suffered from the drawba...

متن کامل

Simplifying Verification with Linear Types

We introduce a purely functional domain specific language, CDSL, which aims to substantially reduce the cost of producing efficient, verified file system code. Given an executable specification of a file system, the CDSL compiler generates C code and, when fully implemented, will also generate an Isabelle/HOL proof linking the specification and the C implementation. We present two operational s...

متن کامل

H2 Model Reduction for Large-Scale Linear Dynamical Systems

The optimal H2 model reduction problem is of great importance in the area of dynamical systems and simulation. In the literature, two independent frameworks have evolved focussing either on solution of Lyapunov equations on the one hand or interpolation of transfer functions on the other, without any apparent connection between the two approaches. In this paper, we develop a new unifying framew...

متن کامل

Cooperative ℋ∞-estimation for large-scale interconnected linear systems

In this paper, a synthesis method for distributed estimation is presented, which is suitable for dealing with largescale interconnected linear systems with disturbance. The main feature of the proposed method is that local estimators only estimate a reduced set of state variables and their complexity does not increase with the size of the system. Nevertheless, the local estimators are able to d...

متن کامل

Algebraic Condition for Decomposition of Large-Scale Linear Dynamic Systems

The paper concerns the problem of decomposition of a large-scale linear dynamic system into two subsystems. An equivalent problem is to split the characteristic polynomial of the original system into two polynomials of lower degrees. Conditions are found concerning the coefficients of the original polynomial which must be fulfilled for its factorization. It is proved that knowledge of only one ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2022

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3527313